// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue';
import App from './App';
import router from './router';
import store from './store';
import iView from 'iview';
import i18n from '@/locale';
import config from '@/config';
// import importDirective from '@/directive'; //vue 自定义指令
// import {directive as clickOutside} from 'v-click-outside-x';
import installPlugin from '@/plugin'; //引入一些组件  目前引入了error_log组件
import './index.less';
import '@/assets/icons/iconfont.css';
// import TreeTable from 'tree-table-vue';
// import VOrgTree from 'v-org-tree';
// import 'v-org-tree/dist/v-org-tree.css';
import eventBus from '@/libs/eventBus';

// 实际打包时应该不引入mock
/* eslint-disable */
//TODO 注释下面的if代表 暂时让生产环境也引入mock； 取消下面的if注释代表 生产环境不引入mock
// if (process.env.NODE_ENV !== 'production')
require('@/mock');

//引入 事件总线
Vue.use(eventBus);
Vue.use(iView, {
  i18n: (key, value) => i18n.t(key, value)
});
//集成 tree table （树形表格）
// Vue.use(TreeTable);
//集成 v-org-tree（树形组织架构插件）
// Vue.use(VOrgTree);
/**s
 * @description 注册admin内置插件
 */
installPlugin(Vue);
/**
 * @description 生产环境关掉提示
 */
Vue.config.productionTip = false;
/**
 * @description 全局注册应用配置
 */
Vue.prototype.$config = config;

/**
 * 注册指令
 */
// importDirective(Vue);
// Vue.directive('clickOutside', clickOutside);

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  i18n,
  store,
  render: h => h(App)
});
